home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech's Sprocket™ / SprocketGX / Interfaces / AppLib.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-10-18  |  4.1 KB  |  170 lines  |  [TEXT/MMCC]

  1. /*
  2.     File:        AppLib.h
  3.  
  4.     Contains:    Prototypes for the “guts” of a Macintosh application.
  5.  
  6.     Written by: Dave Falkenburg
  7.  
  8.     Copyright:    © 1993 by Dave Falkenburg, all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.      
  12.  */
  13.  
  14. #ifndef        _APPLIB_
  15. #define        _APPLIB_
  16.  
  17. #include    "AppConditionals.h"
  18. #include    "Preferences.h"
  19.  
  20. #include    <Types.h>
  21. #include    <Windows.h>
  22. #include    <Dialogs.h>
  23. #include    <Menus.h>
  24. #include    <Files.h>
  25. #include    <AppleEvents.h>
  26. #include    <StandardFile.h>
  27. #include    <OCEStandardMail.h>
  28.  
  29. #include    "Window.h"
  30.  
  31. #if    qUseQuickDrawGX
  32. #include    <FixMath.h>            //    make sure we don’t use GX lame #define of “fixed1”
  33. #include    <graphics types.h>
  34. #endif
  35.  
  36. //    useful macros
  37.  
  38. #if    qDebug
  39.     #define    DebugMessage(x)    DebugStr(x)
  40. #else
  41.     #define    DebugMessage(x)
  42. #endif
  43.  
  44. //    Resource IDs
  45.  
  46. #define    kErrorAlertID                        128
  47. #define    kStandardCloseAlertID                129
  48. #define    kStandardCloseWithNewPubsAlertID    130
  49.  
  50. #define    kCoreErrorStrings                    128
  51. #define    kUnsupportedSystemSoftware            1
  52. #define    kNeedsThreadManager                    2
  53. #define    kNeedsQuickdrawGX                        3
  54.  
  55. #define    kStandardCloseStrings                129
  56. #define    kQuittingStr                        1
  57. #define    kClosingStr                            2
  58.  
  59. #define    kPreferencesFileStrings                130
  60. #define    kPreferencesFileName                1
  61.  
  62. #define    kSplashPictureID                    128
  63.  
  64. #if        qUseQuickDrawGX
  65.  
  66. //    When using GX, we want to create a 512K graphics heap
  67. //    NOTE: I have no idea what to use as a number here!
  68.     #define    kGraphicsHeapSize        (512 * 1024)
  69.  
  70. #endif
  71.  
  72.  
  73. //    Useful functions provided by App:
  74. #ifdef __cplusplus
  75.     extern "C" {
  76. #endif
  77.  
  78.     void                    HandleEvent(EventRecord *anEvent);
  79.     void                    HandleClose(WindowPtr aWindow);
  80.     void                    WindowCommand(WindowPtr pWindow, short theMenuID, short theItem);
  81.     
  82.     short                    StandardAlert(    short alertID,
  83.                                             short defaultItem                = ok,
  84.                                             short cancelItem                = 0,
  85.                                             ModalFilterUPP customFilterProc    = nil);
  86.     
  87.     void                    ErrorAlert(short stringList,short whichString);
  88.     void                    FatalErrorAlert(short stringList,short whichString);
  89.     
  90.     void  EnableAllMenus(Boolean theEnableFlag);
  91.     void  EnableOneMenu(short theMenuID, Boolean theEnableFlag);
  92.     void  EnableMenuItem(short theMenuID, short theItem, Boolean theEnableFlag);
  93.  
  94.     extern ModalFilterUPP    StandardDialogFilter;
  95.     extern ModalFilterYDUPP    StandardDialogFilterYD;
  96.     extern    void            PseudoClickInDialogItem(DialogPtr theDialog, short itemToClick);
  97.     
  98.     enum    StandardCloseResult
  99.     {
  100.         kSaveDocument = 1,
  101.         kCancelSaveDocument = 2,
  102.         kDontSaveDocument = 3
  103.     };
  104.     
  105.     StandardCloseResult        StandardCloseDocument(const StringPtr documentType,StringPtr documentName, Boolean hasNewEditions, Boolean quitting);
  106.     
  107.     OSErr                    CheckAppleEventForMissingParams(AppleEvent *theAppleEvent);
  108.     
  109.     short                    OpenPreferencesResFile(void);
  110.  
  111. #ifdef __cplusplus
  112.     }
  113. #endif
  114.  
  115. //    AOCE “FrontWindow”-equivalent routine for the Standard Mail package
  116. extern FrontWindowUPP    FrontWindowProcForAOCEUPP;
  117.  
  118. //    Globals
  119.  
  120. extern    Boolean                gDone;
  121. extern    Boolean                gMenuBarNeedsUpdate;
  122.  
  123. extern    Boolean                gHasColorQuickdraw;
  124. extern    Boolean                gHasThreadManager;
  125. extern    Boolean                gHasDragManager;
  126. extern    Boolean                gHasAOCE;
  127. extern    Boolean                gHasDisplayManager;
  128.  
  129. #if    qInlineInputAware
  130.     extern    Boolean                gHasTextServices;
  131.     extern    Boolean                gHasTSMTE;
  132. #endif
  133.  
  134. #if    qUseQuickDrawGX
  135.     extern    Boolean                gHasQuickDrawGX;
  136.     extern    Boolean                gGXDebugging;
  137.     extern    Boolean                gGXValidation;
  138.     extern    long                gQuickDrawGXVersion;
  139.     extern    long                gQuickDrawGXPrintingVersion;
  140.     extern    gxGraphicsClient    gQuickDrawGXClient;
  141. #endif
  142.  
  143. extern    GrafPtr                gWindowManagerPort;
  144. extern    Rect                gDeskRectangle;
  145. extern    RgnHandle            gMouseRegion;
  146.  
  147. extern    short                gPreferencesRsrcRefNum;
  148.  
  149. //    Routines that the application MUST supply:
  150. #ifdef __cplusplus
  151.     extern "C" {
  152. #endif
  153.     extern    OSErr    SetupApplication(void);
  154.     extern    void    TearDownApplication(void);
  155.     extern    void    UpdateWindowMenu(void);
  156.     extern    void    HandleSetupMenus(TWindow * topWindowObj);
  157.     extern    void    HandleMenu(TWindow * topWindowObj, long menuCode);
  158.     extern    void    ConvertClipboard(void);
  159.     
  160.     extern    OSErr    OpenNewDocument(void);
  161.     extern    OSErr    OpenDocument(LetterDescriptor *,void *);
  162.     extern    OSErr    PrintDocument(LetterDescriptor *,void *);
  163.     extern    Boolean    QuitApplication(void);
  164.     
  165. #ifdef __cplusplus
  166.     }
  167. #endif
  168.  
  169. #endif
  170.